Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Programming exercises: Use versioned docker image tags #9797

Open
wants to merge 3 commits into
base: develop
Choose a base branch
from

Conversation

magaupp
Copy link
Contributor

@magaupp magaupp commented Nov 16, 2024

Checklist

General

Server

Changes affecting Programming Exercises

  • High priority: I tested all changes and their related features with all corresponding user types on a test server configured with the integrated lifecycle setup (LocalVC and LocalCI).
  • I tested all changes and their related features with all corresponding user types on a test server configured with LocalVC and Jenkins.

Motivation and Context

Currently, some docker images use the latest tag, which always points to the latest version of the image. When the image updates, exercises which depend on the previous behavior would break.

Description

Where the images were missing a version tag, the v1.0.0 tag was added to the docker repository.
We do not have access to the images tizianleonhardt/era-artemis-vhdl and tizianleonhardt/era-artemis-assembler, so repositories within the ls1intum organization were created with images containing the same exact tool versions.

This PR changes the default configuration to always use versioned tags.

Steps for Testing

Prerequisites:

  • 1 Instructor

For each language and project type of the changed images:

  1. Create an exercise with this language
    - If the tested image is not the default image:
    1. Switch to advanced mode
    2. Select the Project Type of the tested image
  2. Wait until the builds finishes
  3. Verify that the template build finishes without issues
  4. Verify that the solution build finishes without issues

The template result of the VHDL exercise does not build. This did not change. Verify that the solution build succeeds.
The solution result of the C default exercise fails TestOutputLSan. This did not change.

Adding a tag to the GitHub repos causes a rebuild of the image. This can result in a different image hash, but it should be based on the same dependencies using the same tools.

Testserver States

Note

These badges show the state of the test servers.
Green = Currently available, Red = Currently locked
Click on the badges to get to the test servers.







Review Progress

Manual Tests

  • Test 1
  • Test 2

Test Coverage

Screenshots

@github-actions github-actions bot added the config-change Pull requests that change the config in a way that they require a deployment via Ansible. label Nov 16, 2024
@magaupp magaupp temporarily deployed to artemis-test3.artemis.cit.tum.de November 16, 2024 14:51 — with GitHub Actions Inactive
@magaupp magaupp added the programming Pull requests that affect the corresponding module label Nov 16, 2024
@github-actions github-actions bot removed the programming Pull requests that affect the corresponding module label Nov 16, 2024
@magaupp magaupp temporarily deployed to artemis-test3.artemis.cit.tum.de November 16, 2024 15:20 — with GitHub Actions Inactive
@magaupp magaupp marked this pull request as ready for review November 16, 2024 15:45
@magaupp magaupp requested a review from a team as a code owner November 16, 2024 15:45
Copy link
Member

@BBesrour BBesrour left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code lgtm. the image digest and size changed, but that's expected according to @magaupp

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
config-change Pull requests that change the config in a way that they require a deployment via Ansible. ready for review small
Projects
Status: Work In Progress
Development

Successfully merging this pull request may close these issues.

3 participants